function checkLogin() {
    var error = "";

    if(isEmpty(document.getElementById("username"))) {
        error += "Il campo username non pu&ograve essere omesso";
    }
    if(isEmpty(document.getElementById("password"))) {
        if(error == "") {
            error += "Il campo password non pu&ograve essere omesso";
        } else {
            error = "I campi username e password non possono essere omessi";
        }
    }

    if(error != "") {
        showError("loginError", error);
        return false;
    } else {
        return true;
    }
}

function checkAccountData(modReg) {
    var error = false;
    if(modReg) hide("err_username");
    hide("err_password");
    hide("err_nome");
    hide("err_cognome");
    hide("err_email");
    hide("err_passwordConf");

    if(modReg) {
        if(isEmpty(document.getElementById("reg_username"))) {
            showError("err_username", "* Il campo username non pu&ograve essere omesso");
            error = true;
        }
    }

    if(isEmpty(document.getElementById("reg_password"))) {
        showError("err_password", "* Il campo password non pu&ograve essere omesso");
        error = true;
    }
    if(isEmpty(document.getElementById("reg_nome"))) {
        showError("err_nome", "* Il campo nome non pu&ograve essere omesso");
        error = true;
    }
    if(isEmpty(document.getElementById("reg_cognome"))) {
        showError("err_cognome", "* Il campo cognome non pu&ograve essere omesso");
        error = true;
    }
    if(isEmpty(document.getElementById("reg_email"))) {
        showError("err_email", "* Il campo email non pu&ograve essere omesso");
        error = true;
    }

    if(document.getElementById("reg_password").value !=
       document.getElementById("reg_passwordConf").value) {
        showError("err_passwordConf", "* La password confermata &egrave diversa da quella scelta");
        error = true;
    }

    if(invalidEmail(document.getElementById("reg_email").value)) {
        showError("err_email", "Formato email non valida. Il formato deve essere del tipo nome@serv.dom");
        error = true;
    }

    return !error;
}

function checkDesiderio() {
    var error = "";

    if(document.getElementById("mainCategory").value == '-1') {
        error += "Categoria principale non specificata<br/>";
    }

    if(document.getElementById("descrizione").value == "") {
        error += "Descrizione non specificata";
    }

    if(error == "") {
        return true;
    } else {
        showError("err_crea_desiderio", error);
        return false;
    }
}

function insertOption(value, text)
{
  var elOptNew = document.createElement('option');
  elOptNew.value = value;
  elOptNew.text = text;
  var elSel = document.getElementById('subCategory');

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

function clearOptionList() {
  var elSel = document.getElementById('subCategory');

  n = elSel.length;
  for(i = 0 ; i < n ; i++) {
      elSel.remove(0);
  }
}